package com.demo.core.dao.base.support;

import java.util.Collection;
import java.util.Iterator;
/**
 * 分页结果检索支持
 * 提供在这个数据集中检索部分数据存储的容器 
 *
 * @author ryuu.kk
 * @param <T> 检索对象泛型T
 */
public class ResultSearchResult<T> extends SearchResultSupport<T> {
	
	/**
	 * 版本序列化ID
	 */
	private static final long serialVersionUID = -5794943499212825562L;

	/**
	 * 构造函数
	 * 构造检索结果容器对象
	 * @param results 结果对象
	 * @param totalResults 整个检索集合的条数(总条数)
	 */
	public ResultSearchResult(Collection<T> results, int totalResults) {
		this.results = results;
		this.totalResults = totalResults;
	}
	
	/**
	 * 结果集合
	 */
	private final Collection<T> results;
	
	/**
	 * 总共得到结果条数
	 */
	private final int totalResults;
	
	@Override
	public Iterator<T> iterator() {
		return results.iterator();
	}

	@Override
	public int size() {
		return results.size();
	}

	@Override
	public Collection<T> getResults() {
		return results;
	}

	@Override
	public int getTotalResults() {
		return totalResults;
	}
}
